public class BankAccount{
    //1.使用所学知识编写一个银行存取款程序，实现存取款功能，具体要求如下。
    //(1)创建一个银行账户类 BankAccount，银行账户类包含账号和账户余额2个属性，存款、取款、查询余额3个方法。
    // (2)银行账户类的属性要私有，并定义属性的 setter 和 getter 方法，以及提供1个全参构造方法。
    //(3)编写测试类，在main（）方法中创建一个 BankAccount 类的对象 ba，并设置ba 的账号和账户余额的初始值分别 123456和5000元。向该账户存入1000元，再取出2000元，最后查询该账户的余额，并输出在控制台。
        // 私有属性
        private String zhanghu;
        private double balance;

        // 全参构造方法
        public BankAccount(String zhanghu, double balance) {
            this.zhanghu= zhanghu;
            this.balance = balance;
        }

        // 存款方法
        public void deposit(double amount) {
            if (amount > 0) {
                balance += amount;
                System.out.println("存款成功，存入金额：" + amount + " 元");
            } else {
                System.out.println("存款失败，存款金额必须大于0");
            }
        }

        // 取款方法
        public void withdraw(double amount) {
            if (amount > 0 && amount <= balance) {
                balance -= amount;
                System.out.println("取款成功，取出金额：" + amount + " 元");
            } else {
                System.out.println("取款失败，余额不足或取款金额必须大于0");
            }
        }

        // 查询余额方法
        public double getBalance() {
            return balance;
        }

        // 账号的getter方法
        public String getZhanghu() {
            return zhanghu;
        }

        // 无需setter方法，因为账号通常不会改变
        // 但如果需要，可以为账号添加setter方法，并考虑在setter方法中加入相应的验证逻辑
    }


//（2）创建第一个BankAccountTest测试类，代码如下：
    // BankAccountTest测试类
    class BankAccountTest {
        public static void main(String[] args) {
            // 创建BankAccount对象ba，并设置初始值
            BankAccount ba = new BankAccount("123456", 5000);

            // 向账户存入1000元
            ba.deposit(1000);

            // 从账户取出2000元
            ba.withdraw(2000);

            // 查询并输出账户余额
            double currentBalance = ba.getBalance();
            System.out.println("当前账户余额：" + currentBalance + " 元");
        }
    }